/*
 * 
 * Copyright 2010 David H Pollack
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License. 
 * 
 * 
 */

package fantasy;

import java.util.Date;
import java.util.Set;

import javax.jdo.annotations.Element;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.appengine.api.datastore.Key;

import fantasy.RosterPositions;

@PersistenceCapable
public class LeagueSettings {

    @PrimaryKey
    @Persistent
    private String leagueKey;
    
    @Persistent
    private Integer gameKey;

    @Persistent
    private String gameType;

    @Persistent
    private Integer leagueId;

    @Persistent
    private String leagueName;

    @Persistent
    private String draftStatus;

    @Persistent
    private Integer numTeams;
    
    @Persistent
    private Date leagueUpdateTimestamp;
    
    @Persistent
    private String sDraftType;
    
    @Persistent
    private String sScoringType;

    @Persistent
    private Integer sUsesPlayoff;

    @Persistent
    private Integer sUsesFaab;
    
    @Persistent(mappedBy = "league")
    @Element(dependent = "true")
    private Set<RosterPositions> sRosterPositionSets;
    
    @Persistent(mappedBy = "parentleague")
    @Element(dependent = "true")
    private Set<LeagueTeams> leagueTeamSets;
   
    @Persistent
    private Set<Key> stats;

	public Integer getGameKey() {
		return gameKey;
	}

	public void setGameKey(Integer gameKey) {
		this.gameKey = gameKey;
	}

	public String getGameType() {
		return gameType;
	}

	public void setGameType(String gameType) {
		this.gameType = gameType;
	}

	public Integer getLeagueId() {
		return leagueId;
	}

	public void setLeagueId(Integer leagueId) {
		this.leagueId = leagueId;
	}

	public String getLeagueKey() {
		return leagueKey;
	}

	public void setLeagueKey(String leagueKey) {
		this.leagueKey = leagueKey;
	}

	public String getLeagueName() {
		return leagueName;
	}

	public void setLeagueName(String leagueName) {
		this.leagueName = leagueName;
	}

	public String getDraftStatus() {
		return draftStatus;
	}

	public void setDraftStatus(String draftStatus) {
		this.draftStatus = draftStatus;
	}

	public Integer getNumTeams() {
		return numTeams;
	}

	public void setNumTeams(Integer numTeams) {
		this.numTeams = numTeams;
	}

	public Date getLeagueUpdateTimestamp() {
		return leagueUpdateTimestamp;
	}

	public void setLeagueUpdateTimestamp(Date leagueUpdateTimestamp) {
		this.leagueUpdateTimestamp = leagueUpdateTimestamp;
	}

	public String getsDraftType() {
		return sDraftType;
	}

	public void setsDraftType(String sDraftType) {
		this.sDraftType = sDraftType;
	}

	public String getsScoringType() {
		return sScoringType;
	}

	public void setsScoringType(String sScoringType) {
		this.sScoringType = sScoringType;
	}

	public Integer getsUsesPlayoff() {
		return sUsesPlayoff;
	}

	public void setsUsesPlayoff(Integer sUsesPlayoff) {
		this.sUsesPlayoff = sUsesPlayoff;
	}

	public Integer getsUsesFaab() {
		return sUsesFaab;
	}

	public void setsUsesFaab(Integer sUsesFaab) {
		this.sUsesFaab = sUsesFaab;
	}

	public Set<RosterPositions> getsRosterPositionSet() {
		return sRosterPositionSets;
	}

	public void setsRosterPositionSet(Set<RosterPositions> sRosterPositionSet) {
		this.sRosterPositionSets = sRosterPositionSet;
	}

    public Set<LeagueTeams> getLeagueTeams() {
		return leagueTeamSets;
	}

	public void setLeagueTeams(Set<LeagueTeams> leagueTeams) {
		this.leagueTeamSets = leagueTeams;
	}

	public Set<Key> getStats() {
		return stats;
	}

	public void setStats(Set<Key> stats) {
		this.stats = stats;
	}
    
    

}

